using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TestImport.View.BeherenBestanden
{
    public partial class SuperFilter : Form
    {
        private String filterTekstSoort;
        protected String filterTekst;

        public SuperFilter()
        {
            InitializeComponent();
            this.panelFilter.BackColor = InstParameters.Default.schermkleur;
            filterTekstSoort = "Alle artikelen";
            this.gbFilter.Text = filterTekstSoort;
        }

        private void SuperFilter_Load(object sender, EventArgs e)
        {
           
            cmbCategorie2.Enabled = false;
            cmbUitgever2.Enabled = false;;
            cmbStatus2.Enabled = false;
            cmbBoeksoort2.Enabled = false;

            /*String Kleur = InstParameters.Default.Kleur;
            if (Kleur == "lichtgeel")
            {
                this.panelFilter.BackColor = Color.LightYellow;
            }
            else if (Kleur == "lichtrood")
            {
                this.panelFilter.BackColor = Color.MistyRose;
            }
            else
            {
                this.panelFilter.BackColor = Color.LightBlue;
            }*/
        }

             

        protected virtual void cmbCategorieZoek_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                zetSamenFilterUit();
                String zoek = cmbCategorieZoek.SelectedValue.ToString();
                filterTekst = "CategorieCode = " + "'" + zoek + "'";
                if (rbtPlato.Checked)
                    filterTekst = "CategorieCode = " + "'" + zoek + "'" + " AND ABoek = true";
                if (rbtSchool.Checked)
                    filterTekst = "CategorieCode = " + "'" + zoek + "'" + " AND ABoek = false";
                //this.boekBindingSource.Filter = filterTekst;
                String text = ((DataRowView)cmbCategorieZoek.SelectedItem).Row["categorieOmschrijving"].ToString(); ;
                this.gbFilter.Text = filterTekstSoort + " /Categorie " + text.ToUpper();
            }
            catch (Exception ex) { ;}
        }

        protected virtual void txtBegin_TextChanged(object sender, EventArgs e)
        {
            zetSamenFilterUit();
            String text = txtBegin.Text.Replace("\'", "\'\'");
            filterTekst = "Titel like \'%" + (text + "%\'");
            if (rbtPlato.Checked)
                filterTekst = "Titel like \'%" + (text + "%\' AND ABoek = true");
            if (rbtSchool.Checked)
                filterTekst = "Titel like \'%" + (text + "%\' AND ABoek = false");
            //this.boekBindingSource.Filter = filterTekst;
            this.gbFilter.Text = filterTekstSoort + " /Deel van titel " + text.ToUpper();
        }

        protected virtual void rbtSchool_CheckedChanged(object sender, EventArgs e)
        {
            zetSamenFilterUit();
            filterTekst = ("ABoek = false");
            filterTekstSoort = "Eigen school artikelen";
            this.gbFilter.Text = filterTekstSoort;
        }

        protected virtual void rbtPlato_CheckedChanged(object sender, EventArgs e)
        {
            zetSamenFilterUit();
            filterTekst = ("ABoek = true");
            filterTekstSoort = "Plato artikelen";
            this.gbFilter.Text = filterTekstSoort;
        }

        protected virtual void rbtAlle_CheckedChanged(object sender, EventArgs e)
        {
            //this.boekBindingSource.RemoveFilter();
            zetSamenFilterUit();
            filterTekstSoort = "Alle artikelen";
            this.gbFilter.Text = filterTekstSoort;
        }

        protected virtual void cmbUitgeverZoek_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                zetSamenFilterUit();
                String zoek = cmbUitgeverZoek.SelectedValue.ToString();
                filterTekst = "UitgeverCode = " + "'" + zoek + "'";
                if (rbtPlato.Checked)
                    filterTekst = "UitgeverCode = " + "'" + zoek + "'" + " AND ABoek = true";
                if (rbtSchool.Checked)
                    filterTekst = "UitgeverCode = " + "'" + zoek + "'" + " AND ABoek = false";
                //this.boekBindingSource.Filter = filterTekst;
                String text = ((DataRowView)cmbUitgeverZoek.SelectedItem).Row["uitgeverNaam"].ToString();
                this.gbFilter.Text = filterTekstSoort + " /Uitgever " + text.ToUpper();
            }
            catch (Exception ex) { ;}

        }

        protected virtual void cmbStatusZoek_SelectedIndexChanged(object sender, EventArgs e)
        {
            zetSamenFilterUit();
            String zoek = cmbStatusZoek.SelectedValue.ToString();
            filterTekst = "BoekstatusCode = " + "'" + zoek + "'";
            if (rbtPlato.Checked)
                filterTekst = "BoekstatusCode = " + "'" + zoek + "'" + " AND ABoek = true";
            if (rbtSchool.Checked)
                filterTekst = "BoekstatusCode = " + "'" + zoek + "'" + " AND ABoek = false";
            //this.boekBindingSource.Filter = filterTekst;
            String text = ((DataRowView)cmbStatusZoek.SelectedItem).Row["boekStatusNaam"].ToString(); 
            this.gbFilter.Text = filterTekstSoort + " /Boekstatus " + text.ToUpper();
        }

        protected virtual void cmbBoeksoortZoek_SelectedIndexChanged(object sender, EventArgs e)
        {
            zetSamenFilterUit();
            String zoek = cmbBoeksoortZoek.SelectedValue.ToString();
            filterTekst = "BoeksoortCode = " + "'" + zoek + "'";
            if (rbtPlato.Checked)
                filterTekst = "BoeksoortCode = " + "'" + zoek + "'" + " AND ABoek = true";
            if (rbtSchool.Checked)
                filterTekst = "BoeksoortCodeCode = " + "'" + zoek + "'" + " AND ABoek = false";
            //this.boekBindingSource.Filter = filterTekst;
            String text = ((DataRowView)cmbBoeksoortZoek.SelectedItem).Row["boeksoortNaam"].ToString(); ;
            this.gbFilter.Text = filterTekstSoort + " /Boeksoort " + text.ToUpper();
        }

        private void chkCategorie_CheckedChanged(object sender, EventArgs e)
        {
            cmbCategorie2.Enabled = !cmbCategorie2.Enabled;
            if (chkCategorie.Checked) cmbCategorie2.Enabled = true;
        }

        private void chkUitgever_CheckedChanged(object sender, EventArgs e)
        {
            cmbUitgever2.Enabled = !cmbUitgever2.Enabled;
            if (chkUitgever.Checked) cmbUitgever2.Enabled = true;
        }

        private void chkStatus_CheckedChanged(object sender, EventArgs e)
        {
            cmbStatus2.Enabled = !cmbStatus2.Enabled;
            if (chkStatus.Checked) cmbStatus2.Enabled = true;
        }

        private void chkBoeksoort_CheckedChanged(object sender, EventArgs e)
        {
            cmbBoeksoort2.Enabled = !cmbBoeksoort2.Enabled;
            if (chkBoeksoort.Checked) cmbBoeksoort2.Enabled = true;
        }

        protected virtual void btnFilterSamen_Click(object sender, EventArgs e)
        {
            int aantal = 0;
            String zoek = "";
            String text = "";
            filterTekst = "";

            if (chkCategorie.Checked)
            {
                zoek = cmbCategorie2.SelectedValue.ToString();
                if (aantal++ > 0) filterTekst += " AND ";
                filterTekst += "CategorieCode = " + "'" + zoek + "'";
                text += " /Categorie " + ((DataRowView)cmbCategorie2.SelectedItem).Row["categorieOmschrijving"].ToString().ToUpper(); 
               
            }
            if (chkUitgever.Checked)
            {
                zoek = cmbUitgever2.SelectedValue.ToString();
                if (aantal++ > 0) filterTekst += " AND ";
                filterTekst += "UitgeverCode = " + "'" + zoek + "'";
                text += " /Uitgever " + ((DataRowView)cmbUitgever2.SelectedItem).Row["uitgeverNaam"].ToString().ToUpper(); 
            }
            if (chkStatus.Checked)
            {
                zoek = cmbStatus2.SelectedValue.ToString();
                if (aantal++ > 0) filterTekst += " AND ";
                filterTekst += "BoekStatusCode = " + "'" + zoek + "'";
                text += " /Boekstatus " + ((DataRowView)cmbStatus2.SelectedItem).Row["boekStatusNaam"].ToString().ToUpper(); 
            }
            if (chkBoeksoort.Checked)
            {
                zoek = cmbBoeksoort2.SelectedValue.ToString();
                if (aantal++ > 0) filterTekst += " AND ";
                filterTekst += "BoeksoortCode = " + "'" + zoek + "'";
                text+= " /Boeksoort " + ((DataRowView)cmbBoeksoort2.SelectedItem).Row["boeksoortNaam"].ToString().ToUpper(); 
            }
            if (rbtPlato.Checked)
            {
                if (aantal++ > 0) filterTekst += " AND ";
                filterTekst += "ABoek = true";
            }
            if (rbtSchool.Checked)
            {
                if (aantal++ > 0) filterTekst += " AND ";
                filterTekst += "ABoek = false";
            }
            if (txtDeelTitel.Text.Length > 0)
            {
                String hulp = txtDeelTitel.Text.Replace("\'", "\'\'");
                if (aantal++ > 0) filterTekst += " AND ";
                filterTekst += "Titel like \'%" + (hulp + "%\'");
            }

            this.gbFilter.Text = filterTekstSoort + text;
        }

        private void zetSamenFilterUit()
        {
            cmbCategorie2.Enabled = false;
            cmbUitgever2.Enabled = false; ;
            cmbStatus2.Enabled = false;
            cmbBoeksoort2.Enabled = false;
            chkCategorie.Checked = false;
            chkStatus.Checked = false;
            chkUitgever.Checked = false;
            chkBoeksoort.Checked = false;
        }

        private void txtMaakTekstLeeg_Click(object sender, EventArgs e)
        {
            txtDeelTitel.Text = "";
        }

        protected virtual void btnActueleVoorraad_Click(object sender, EventArgs e)
        {

        }

       
     }
}